#pragma once

#include "BaseMoveable.h"
#include <SFML/System.hpp>
#include <SFML/Graphics.hpp>
#include <iostream>
#include "EntityManager.h"

class Enemy : public BaseMoveable
{
private:
	sf::Sprite Sprite;
	float TankSpeed;
	BaseEntity* mTurret;
	float Speed;
	BaseEntity* mTarget;
	float NextUpdatePos;
	sf::Vector2f TargetPos;
	float MinRange;
public:
	Enemy(sf::RenderWindow *App);
	~Enemy(void);
	void Think();
	void Draw();
	void OnCollide(BaseMoveable *ent1, BaseMoveable *ent2, CollisionData CollideInfo);
	void OnTakeDamage(BaseEntity* inf, float Amount);
	void OnDelete();
	void Explode();
};